﻿package com.zouloux.core.masters
{
	import com.zouloux.core.base.DocumentBase;
	import com.zouloux.core.base.IMovieClipBase;
	import com.zouloux.core.base.MovieClipBase;
	import com.zouloux.core.events.NavigationEvent;
	import com.zouloux.ui.Component;
	import com.zouloux.ui.IComponent;
	import com.zouloux.ui.IContainer;
	import flash.display.MovieClip;
	import flash.events.Event;
	
	/**
	 * ...
	 * @author ZoulouX
	 */
	public class MasterView extends MovieClipBase implements IView, IMovieClipBase
	{
		/**
		 * Le controlleur
		 */
		protected var _controller			:IController 			= new MasterController();
		
		/**
		 * Le controlleur associé à cette vue
		 */
		public function get controller ():IController { return _controller; }
		public function set controller (value:IController):void 
		{
			_controller = value;
		}
		
		/**
		 * Le constructeur
		 */
		public function MasterView ()
		{
			
		}
		
		/**
		 * Séquence d'intro
		 */
		public function playIn ():void
		{
			checkAndPlay("playIn");
		}
		
		/**
		 * Séquence d'outro
		 */
		public function playOut ():void
		{
			// Aller à l'animation de sortie, ou alors quitter directement
			!checkAndPlay("playOut") || onOut();
		}
		
		/**
		 * L'outro est finie, on dispatche pour le bootstrap
		 */
		public function onOut ():void
		{
			dispatchEvent(new NavigationEvent(NavigationEvent.PAGE_OUT));
		}
	}
}